namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Configuration Structure</summary>
	/// <definedin>src\widgets\form\DateField.js</definedin>
	public sealed class DateField_Configuration : Record
	{
		
		#region Fields
		/// <summary>
		/// The default date format string which can be overriden for localization support. The format must be
		/// valid according to {@link Date#parseDate} (defaults to &apos;m/d/Y&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The default date format string which can be overriden for localization support. The format must be
		/// valid according to {@link Date#parseDate} (defaults to &lt;tt&gt;&apos;m/d/Y&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("format")]
		public string Format;
		
		/// <summary>
		/// Multiple date formats separated by &quot;|&quot; to try when parsing a user input value and it
		/// does not match the defined format (defaults to
		/// &apos;m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j&apos;).
		/// </summary>
		/// <htmlSummary>
		/// Multiple date formats separated by &quot;&lt;tt&gt;|&lt;/tt&gt;&quot; to try when parsing a user input value and it
		/// does not match the defined format (defaults to
		/// &lt;tt&gt;&apos;m/d/Y|n/j/Y|n/j/y|m/j/y|n/d/y|m/j/Y|n/d/Y|m-d-y|m-d-Y|m/d|m-d|md|mdy|mdY|d|Y-m-d|n-j|n/j&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("altFormats")]
		public string AltFormats;
		
		/// <summary>The tooltip to display when the date falls on a disabled day (defaults to &apos;Disabled&apos;)</summary>
		/// <htmlSummary>The tooltip to display when the date falls on a disabled day (defaults to &lt;tt&gt;&apos;Disabled&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("disabledDaysText")]
		public string DisabledDaysText;
		
		/// <summary>The tooltip text to display when the date falls on a disabled date (defaults to &apos;Disabled&apos;)</summary>
		/// <htmlSummary>The tooltip text to display when the date falls on a disabled date (defaults to &lt;tt&gt;&apos;Disabled&apos;&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("disabledDatesText")]
		public string DisabledDatesText;
		
		/// <summary>
		/// The error text to display when the date in the cell is before {@link #minValue} (defaults to
		/// &apos;The date in this field must be after {minValue}&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The error text to display when the date in the cell is before &lt;tt&gt;{@link #minValue}&lt;/tt&gt; (defaults to
		/// &lt;tt&gt;&apos;The date in this field must be after {minValue}&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("minText")]
		public string MinText;
		
		/// <summary>
		/// The error text to display when the date in the cell is after {@link #maxValue} (defaults to
		/// &apos;The date in this field must be before {maxValue}&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The error text to display when the date in the cell is after &lt;tt&gt;{@link #maxValue}&lt;/tt&gt; (defaults to
		/// &lt;tt&gt;&apos;The date in this field must be before {maxValue}&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("maxText")]
		public string MaxText;
		
		/// <summary>
		/// The error text to display when the date in the field is invalid (defaults to
		/// &apos;{value} is not a valid date - it must be in the format {format}&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The error text to display when the date in the field is invalid (defaults to
		/// &lt;tt&gt;&apos;{value} is not a valid date - it must be in the format {format}&apos;&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("invalidText")]
		public string InvalidText;
		
		/// <summary>
		/// An additional CSS class used to style the trigger button. The trigger will always get the
		/// class &apos;x-form-trigger&apos; and triggerClass will be appended if specified
		/// (defaults to &apos;x-form-date-trigger&apos; which displays a calendar icon).
		/// </summary>
		/// <htmlSummary>
		/// An additional CSS class used to style the trigger button. The trigger will always get the
		/// class &lt;tt&gt;&apos;x-form-trigger&apos;&lt;/tt&gt; and &lt;tt&gt;triggerClass&lt;/tt&gt; will be &lt;b&gt;appended&lt;/b&gt; if specified
		/// (defaults to &lt;tt&gt;&apos;x-form-date-trigger&apos;&lt;/tt&gt; which displays a calendar icon).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("triggerClass")]
		public string TriggerClass;
		
		/// <summary>
		/// false to hide the footer area of the DatePicker containing the Today button and disable
		/// the keyboard handler for spacebar that selects the current date (defaults to true).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;false&lt;/tt&gt; to hide the footer area of the DatePicker containing the Today button and disable
		/// the keyboard handler for spacebar that selects the current date (defaults to &lt;tt&gt;true&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("showToday")]
		public bool ShowToday;
		
		/// <summary>Day index at which the week should begin, 0-based (defaults to 0, which is Sunday)</summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("startDay")]
		public System.Number StartDay;
		
		/// <summary>
		/// The minimum allowed date. Can be either a Javascript date object or a string date in a
		/// valid format (defaults to null).
		/// </summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("minValue")]
		public ext.auto.System_DateTime_Or_System_String MinValue;
		
		/// <summary>
		/// The maximum allowed date. Can be either a Javascript date object or a string date in a
		/// valid format (defaults to null).
		/// </summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("maxValue")]
		public ext.auto.System_DateTime_Or_System_String MaxValue;
		
		/// <summary>
		/// An array of days to disable, 0 based (defaults to null). Some examples: 
		/// // disable Sunday and Saturday:
		/// disabledDays: [0, 6]
		/// // disable weekdays:
		/// disabledDays: [1,2,3,4,5]
		/// </summary>
		/// <htmlSummary>
		/// An array of days to disable, 0 based (defaults to null). Some examples:&lt;pre&gt;&lt;code&gt;
		/// // disable Sunday and Saturday:
		/// disabledDays: [0, 6]
		/// // disable weekdays:
		/// disabledDays: [1,2,3,4,5]
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("disabledDays")]
		public System.Array DisabledDays;
		
		/// <summary>
		/// An array of &quot;dates&quot; to disable, as strings. These strings will be used to build a dynamic regular
		/// expression so they are very powerful. Some examples: 
		/// // disable these exact dates:
		/// disabledDates: [&quot;03/08/2003&quot;, &quot;09/16/2003&quot;]
		/// // disable these days for every year:
		/// disabledDates: [&quot;03/08&quot;, &quot;09/16&quot;]
		/// // only match the beginning (useful if you are using short years):
		/// disabledDates: [&quot;^03/08&quot;]
		/// // disable every day in March 2006:
		/// disabledDates: [&quot;03/../2006&quot;]
		/// // disable every day in every March:
		/// disabledDates: [&quot;^03&quot;]
		/// 
		/// Note that the format of the dates included in the array should exactly match the {@link #format} config.
		/// In order to support regular expressions, if you are using a {@link #format date format} that has &quot;.&quot; in
		/// it, you will have to escape the dot when restricting dates. For example: [&quot;03\\.08\\.03&quot;].
		/// </summary>
		/// <htmlSummary>
		/// An array of &quot;dates&quot; to disable, as strings. These strings will be used to build a dynamic regular
		/// expression so they are very powerful. Some examples:&lt;pre&gt;&lt;code&gt;
		/// // disable these exact dates:
		/// disabledDates: [&quot;03/08/2003&quot;, &quot;09/16/2003&quot;]
		/// // disable these days for every year:
		/// disabledDates: [&quot;03/08&quot;, &quot;09/16&quot;]
		/// // only match the beginning (useful if you are using short years):
		/// disabledDates: [&quot;^03/08&quot;]
		/// // disable every day in March 2006:
		/// disabledDates: [&quot;03/../2006&quot;]
		/// // disable every day in every March:
		/// disabledDates: [&quot;^03&quot;]
		/// &lt;/code&gt;&lt;/pre&gt;
		/// Note that the format of the dates included in the array should exactly match the {@link #format} config.
		/// In order to support regular expressions, if you are using a {@link #format date format} that has &quot;.&quot; in
		/// it, you will have to escape the dot when restricting dates. For example: &lt;tt&gt;[&quot;03\\.08\\.03&quot;]&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("disabledDates")]
		public System.Array DisabledDates;
		
		/// <summary>
		/// A {@link Ext.DomHelper DomHelper element specification object}, or true for the default element
		/// specification object: 
		/// autoCreate: {tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;10&quot;, autocomplete: &quot;off&quot;}
		/// </summary>
		/// <htmlSummary>
		/// A {@link Ext.DomHelper DomHelper element specification object}, or &lt;tt&gt;true&lt;/tt&gt; for the default element
		/// specification object:&lt;pre&gt;&lt;code&gt;
		/// autoCreate: {tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;10&quot;, autocomplete: &quot;off&quot;}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("autoCreate")]
		public ext.auto.System_String_Or_System_Object AutoCreate;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("grow")]
		public bool Grow;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("growMin")]
		public System.Number GrowMin;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\DateField.js</definedin>
		[ScriptName("growMax")]
		public System.Number GrowMax;
		#endregion
		
		#region ext.form.TriggerField_Configuration Members
		/// <summary>
		/// A {@link Ext.DomHelper DomHelper} config object specifying the structure of the
		/// trigger element for this Field. (Optional).  Specify this when you need a customized element to act as the trigger button for a TriggerField.  Note that when using this option, it is the developer&apos;s responsibility to ensure correct sizing, positioning
		/// and appearance of the trigger. Defaults to:  {tag: &quot;img&quot;, src: Ext.BLANK_IMAGE_URL, cls: &quot;x-form-trigger &quot; + this.triggerClass}
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.DomHelper DomHelper} config object specifying the structure of the
		/// trigger element for this Field. (Optional).&lt;/p&gt;
		/// &lt;p&gt;Specify this when you need a customized element to act as the trigger button for a TriggerField.&lt;/p&gt;
		/// &lt;p&gt;Note that when using this option, it is the developer&apos;s responsibility to ensure correct sizing, positioning
		/// and appearance of the trigger. Defaults to:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;{tag: &quot;img&quot;, src: Ext.BLANK_IMAGE_URL, cls: &quot;x-form-trigger &quot; + this.triggerClass}&lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("triggerConfig")]
		public object TriggerConfig;
		
		/// <summary>
		/// true to hide the trigger element and display only the base
		/// text field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to hide the trigger element and display only the base
		/// text field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("hideTrigger")]
		public bool HideTrigger;
		
		/// <summary>
		/// false to prevent the user from typing text directly into the field,
		/// the field will only respond to a click on the trigger to set the value. (defaults to true).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;false&lt;/tt&gt; to prevent the user from typing text directly into the field,
		/// the field will only respond to a click on the trigger to set the value. (defaults to &lt;tt&gt;true&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("editable")]
		public bool Editable;
		
		/// <summary>
		/// true to prevent the user from changing the field, and
		/// hides the trigger. Superceeds the editable and hideTrigger options if the value is true.
		/// (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to prevent the user from changing the field, and
		/// hides the trigger. Superceeds the editable and hideTrigger options if the value is true.
		/// (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("readOnly")]
		public bool ReadOnly;
		
		/// <summary>
		/// The class added to the to the wrap of the trigger element. Defaults to
		/// x-trigger-wrap-focus.
		/// </summary>
		/// <htmlSummary>
		/// The class added to the to the wrap of the trigger element. Defaults to
		/// &lt;tt&gt;x-trigger-wrap-focus&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("wrapFocusClass")]
		public string WrapFocusClass;
		#endregion
		
		#region ext.form.TextField_Configuration Members
		/// <summary>
		/// A custom error message to display in place of the default message provided
		/// for the {@link #vtype} currently set for this field (defaults to &apos;&apos;). Note:
		/// only applies if {@link #vtype} is set, else ignored.
		/// </summary>
		/// <htmlSummary>
		/// A custom error message to display in place of the default message provided
		/// for the &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; currently set for this field (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;). &lt;b&gt;Note&lt;/b&gt;:
		/// only applies if &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; is set, else ignored.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtypeText")]
		public string VtypeText;
		
		/// <summary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to null).
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("stripCharsRe")]
		public System.RegularExpression StripCharsRe;
		
		/// <summary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to null)</summary>
		/// <htmlSummary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to &lt;tt&gt;null&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtype")]
		public string Vtype;
		
		/// <summary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to null)
		/// </summary>
		/// <htmlSummary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to &lt;tt&gt;null&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maskRe")]
		public System.RegularExpression MaskRe;
		
		/// <summary>
		/// Specify true to disable input keystroke filtering (defaults
		/// to false)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;true&lt;/tt&gt; to disable input keystroke filtering (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("disableKeyFilter")]
		public bool DisableKeyFilter;
		
		/// <summary>
		/// Specify false to validate that the value&apos;s length is &gt; 0 (defaults to
		/// true)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;false&lt;/tt&gt; to validate that the value&apos;s length is &gt; 0 (defaults to
		/// &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("allowBlank")]
		public bool AllowBlank;
		
		/// <summary>Minimum input field length required (defaults to 0)</summary>
		/// <htmlSummary>Minimum input field length required (defaults to &lt;tt&gt;0&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLength")]
		public System.Number MinLength;
		
		/// <summary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use {@link Ext.form.Field#autoCreate autoCreate} to add
		/// any attributes you want to a field, for example: 
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use &lt;tt&gt;&lt;b&gt;{@link Ext.form.Field#autoCreate autoCreate}&lt;/b&gt;&lt;/tt&gt; to add
		/// any attributes you want to a field, for example:&lt;pre&gt;&lt;code&gt;
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLength")]
		public System.Number MaxLength;
		
		/// <summary>
		/// Error text to display if the {@link #minLength minimum length}
		/// validation fails (defaults to &apos;The minimum length for this field is {minLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #minLength minimum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The minimum length for this field is {minLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLengthText")]
		public string MinLengthText;
		
		/// <summary>
		/// Error text to display if the {@link #maxLength maximum length}
		/// validation fails (defaults to &apos;The maximum length for this field is {maxLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #maxLength maximum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The maximum length for this field is {maxLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLengthText")]
		public string MaxLengthText;
		
		/// <summary>
		/// true to automatically select any existing field text when the field
		/// receives input focus (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to automatically select any existing field text when the field
		/// receives input focus (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("selectOnFocus")]
		public bool SelectOnFocus;
		
		/// <summary>
		/// The error text to display if the {@link #allowBlank} validation
		/// fails (defaults to &apos;This field is required&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if the &lt;b&gt;&lt;tt&gt;{@link #allowBlank}&lt;/tt&gt;&lt;/b&gt; validation
		/// fails (defaults to &lt;tt&gt;&apos;This field is required&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("blankText")]
		public string BlankText;
		
		/// <summary>
		/// A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to null). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;This function will be passed the following Parameters:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;value&lt;/code&gt;: &lt;i&gt;Mixed&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;The current field value&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;br&gt;&lt;p&gt;This function is to Return:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;true&lt;/code&gt;: &lt;i&gt;Boolean&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;code&gt;true&lt;/code&gt; if the value is valid&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;msg&lt;/code&gt;: &lt;i&gt;String&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;An error message if the value is invalid&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("validator")]
		public System.Delegate Validator;
		
		/// <summary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to null). If the test fails, the field will be marked invalid using
		/// {@link #regexText}.
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If the test fails, the field will be marked invalid using
		/// &lt;b&gt;&lt;tt&gt;{@link #regexText}&lt;/tt&gt;&lt;/b&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regex")]
		public System.RegularExpression Regex;
		
		/// <summary>
		/// The error text to display if {@link #regex} is used and the
		/// test fails during validation (defaults to &apos;&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if &lt;b&gt;&lt;tt&gt;{@link #regex}&lt;/tt&gt;&lt;/b&gt; is used and the
		/// test fails during validation (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regexText")]
		public string RegexText;
		
		/// <summary>
		/// The default text to place into an empty field (defaults to null).
		/// Note: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </summary>
		/// <htmlSummary>
		/// The default text to place into an empty field (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyText")]
		public string EmptyText;
		
		/// <summary>
		/// The CSS class to apply to an empty field to style the {@link #emptyText}
		/// (defaults to &apos;x-form-empty-field&apos;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </summary>
		/// <htmlSummary>
		/// The CSS class to apply to an empty field to style the &lt;b&gt;&lt;tt&gt;{@link #emptyText}&lt;/tt&gt;&lt;/b&gt;
		/// (defaults to &lt;tt&gt;&apos;x-form-empty-field&apos;&lt;/tt&gt;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyClass")]
		public string EmptyClass;
		
		/// <summary>
		/// true to enable the proxying of key events for the HTML input
		/// field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to enable the proxying of key events for the HTML input
		/// field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("enableKeyEvents")]
		public bool EnableKeyEvents;
		#endregion
		
		#region ext.form.Field_Configuration Members
		/// <summary>
		/// The type attribute for input fields -- e.g. radio, text, password, file (defaults
		/// to &apos;text&apos;). The types &apos;file&apos; and &apos;password&apos; must be used to render those field types currently -- there are
		/// no separate Ext components for those. Note that if you use inputType:&apos;file&apos;, {@link #emptyText}
		/// is not supported and should be avoided.
		/// </summary>
		/// <htmlSummary>
		/// The type attribute for input fields -- e.g. radio, text, password, file (defaults
		/// to &apos;text&apos;). The types &apos;file&apos; and &apos;password&apos; must be used to render those field types currently -- there are
		/// no separate Ext components for those. Note that if you use &lt;tt&gt;inputType:&apos;file&apos;&lt;/tt&gt;, {@link #emptyText}
		/// is not supported and should be avoided.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("inputType")]
		public string InputType;
		
		/// <summary>
		/// The tabIndex for this field. Note this only applies to fields that are rendered,
		/// not those which are built via applyTo (defaults to undefined).
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("tabIndex")]
		public System.Number TabIndex;
		
		/// <summary>A value to initialize this field with (defaults to undefined).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("value")]
		public object Value;
		
		/// <summary>
		/// The field&apos;s HTML name attribute (defaults to &apos;&apos;).
		/// Note: this property must be set if this field is to be automatically included with
		/// {@link Ext.form.BasicForm#submit form submit()}.
		/// </summary>
		/// <htmlSummary>
		/// The field&apos;s HTML name attribute (defaults to &apos;&apos;).
		/// &lt;b&gt;Note&lt;/b&gt;: this property must be set if this field is to be automatically included with
		/// {@link Ext.form.BasicForm#submit form submit()}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("name")]
		public string Name;
		
		/// <summary>A custom CSS class to apply to the field&apos;s underlying element (defaults to &apos;&apos;).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("cls")]
		public string Cls;
		
		/// <summary>The CSS class to use when marking a field invalid (defaults to &apos;x-form-invalid&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("invalidClass")]
		public string InvalidClass;
		
		/// <summary>The CSS class to use when the field receives focus (defaults to &apos;x-form-focus&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("focusClass")]
		public string FocusClass;
		
		/// <summary>
		/// true to disable {@link #markInvalid marking the field invalid}.
		/// Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to disable {@link #markInvalid marking the field invalid}.
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("preventMark")]
		public bool PreventMark;
		
		/// <summary>
		/// The event that should initiate field validation. Set to false to disable
		/// automatic validation (defaults to &apos;keyup&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validationEvent")]
		public ext.auto.System_Boolean_Or_System_String ValidationEvent;
		
		/// <summary>Whether the field should validate when it loses focus (defaults to true).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validateOnBlur")]
		public bool ValidateOnBlur;
		
		/// <summary>
		/// The length of time in milliseconds after user input begins until validation
		/// is initiated (defaults to 250)
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validationDelay")]
		public System.Number ValidationDelay;
		
		/// <summary>The default CSS class for the field (defaults to &apos;x-form-field&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("fieldClass")]
		public string FieldClass;
		
		/// <summary>
		/// The location where the message text set through {@link #markInvalid} should display.
		/// Must be one of the following values:    qtip Display a quick tip containing the message when the user hovers over the field. This is the default.
		/// {@link Ext.QuickTips#init Ext.QuickTips.init} must have been called for this setting to work.  title Display the message in a default browser title attribute popup.  under Add a block div beneath the field containing the error message.  side Add an error icon to the right of the field, displaying the message in a popup on hover.  [element id] Add the error message directly to the innerHTML of the specified element.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The location where the message text set through {@link #markInvalid} should display.
		/// Must be one of the following values:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;qtip&lt;/code&gt; Display a quick tip containing the message when the user hovers over the field. This is the default.
		/// &lt;div class=&quot;subdesc&quot;&gt;&lt;b&gt;{@link Ext.QuickTips#init Ext.QuickTips.init} must have been called for this setting to work.&lt;/b&gt;&lt;/div&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;title&lt;/code&gt; Display the message in a default browser title attribute popup.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;under&lt;/code&gt; Add a block div beneath the field containing the error message.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;side&lt;/code&gt; Add an error icon to the right of the field, displaying the message in a popup on hover.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;[element id]&lt;/code&gt; Add the error message directly to the innerHTML of the specified element.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("msgTarget")]
		public string MsgTarget;
		
		/// <summary>
		/// Experimental The effect used when displaying a validation message under the field
		/// (defaults to &apos;normal&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;b&gt;Experimental&lt;/b&gt; The effect used when displaying a validation message under the field
		/// (defaults to &apos;normal&apos;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("msgFx")]
		public string MsgFx;
		
		/// <summary>
		/// True to disable the field (defaults to false).
		/// Be aware that conformant with the HTML specification,
		/// disabled Fields will not be {@link Ext.form.BasicForm#submit submitted}.
		/// </summary>
		/// <htmlSummary>
		/// True to disable the field (defaults to false).
		/// &lt;p&gt;Be aware that conformant with the &lt;a href=&quot;http://www.w3.org/TR/html401/interact/forms.html#h-17.12.1&quot;&gt;HTML specification&lt;/a&gt;,
		/// disabled Fields will not be {@link Ext.form.BasicForm#submit submitted}.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("disabled")]
		public bool Disabled;
		
		/// <summary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// Defaults to true.
		/// </summary>
		/// <htmlSummary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// Defaults to &lt;tt&gt;true&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("submitValue")]
		public bool SubmitValue;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoWidth")]
		public bool AutoWidth;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoHeight")]
		public bool AutoHeight;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoEl")]
		public string AutoEl;
		#endregion
		
		#region ext.BoxComponent_Configuration Members
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a {@link Ext.layout.BoxLayout BoxLayout}.
		/// Each child Component with a flex property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s relativeflex value
		/// compared to the sum of all Components with flex value specified. Any child items that have
		/// either a flex = 0 or flex = undefined will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout}.&lt;/b&gt;
		/// Each child Component with a &lt;code&gt;flex&lt;/code&gt; property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s &lt;b&gt;relative&lt;/b&gt; &lt;code&gt;flex&lt;/code&gt; value
		/// compared to the sum of all Components with &lt;code&gt;flex&lt;/code&gt; value specified. Any child items that have
		/// either a &lt;code&gt;flex = 0&lt;/code&gt; or &lt;code&gt;flex = undefined&lt;/code&gt; will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("flex")]
		public System.Number Flex;
		
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an {@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).
		/// based layout manager, for example:   {@link Ext.form.FormPanel}  specifying layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;     See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an &lt;b&gt;{@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).&lt;/b&gt;
		/// based layout manager, for example:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.form.FormPanel}&lt;/li&gt;
		/// &lt;li&gt;specifying &lt;code&gt;layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;&lt;/code&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("anchor")]
		public string Anchor;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is a child item of a TabPanel. 
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is a child item of a TabPanel.&lt;/p&gt;
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("tabTip")]
		public string TabTip;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// layout manager (e.g. specifying layout:&apos;border&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// layout manager (e.g. specifying &lt;tt&gt;layout:&apos;border&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;See {@link Ext.layout.BorderLayout} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("region")]
		public string Region;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// or one of the two {@link Ext.layout.BoxLayout BoxLayout} subclasses.  An object containing margins to apply to this BoxComponent in the
		/// format:  
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }  May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:     If there is only one value, it applies to all sides.  If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.  If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.  If there are four values, they apply to the top, right, bottom, and left,...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// or one of the two &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout} subclasses.&lt;/b&gt;&lt;/p&gt;
		/// &lt;p&gt;An object containing margins to apply to this BoxComponent in the
		/// format:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }&lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:&lt;/p&gt;
		/// &lt;p&gt;&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;If there is only one value, it applies to all sides.&lt;/li&gt;
		/// &lt;li&gt;If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.&lt;/li&gt;
		/// &lt;li&gt;If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.&lt;/li&gt;
		/// &lt;li&gt;If there are four values, they apply to the top, right, bottom, and left, respectively.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;Defaults to:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {top:0, right:0, bottom:0, left:0}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("margins")]
		public object Margins;
		
		/// <summary>The local x (left) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("x")]
		public System.Number X;
		
		/// <summary>The local y (top) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("y")]
		public System.Number Y;
		
		/// <summary>The page level x coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageX")]
		public System.Number PageX;
		
		/// <summary>The page level y coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageY")]
		public System.Number PageY;
		
		/// <summary>
		/// The height of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The height of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("height")]
		public System.Number Height;
		
		/// <summary>
		/// The width of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The width of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("width")]
		public System.Number Width;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinHeight")]
		public System.Number BoxMinHeight;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinWidth")]
		public System.Number BoxMinWidth;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxHeight")]
		public System.Number BoxMaxHeight;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxWidth")]
		public System.Number BoxMaxWidth;
		
		/// <summary>
		/// true to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, false to clip any overflowing content (defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;code&gt;true&lt;/code&gt; to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, &lt;code&gt;false&lt;/code&gt; to clip any overflowing content (defaults to &lt;code&gt;false&lt;/code&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("autoScroll")]
		public bool AutoScroll;
		
		/// <summary>The label text to display next to this Component (defaults to &apos;&apos;).</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The label text to display next to this Component (defaults to &apos;&apos;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #hideLabel}&lt;/tt&gt; and
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("fieldLabel")]
		public string FieldLabel;
		
		/// <summary>
		/// A CSS style specification string to apply directly to this field&apos;s
		/// label. Defaults to the container&apos;s labelStyle value if set (e.g.,
		/// {@link Ext.layout.FormLayout#labelStyle} , or &apos;&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A CSS style specification string to apply directly to this field&apos;s
		/// label. Defaults to the container&apos;s labelStyle value if set (e.g.,
		/// &lt;tt&gt;{@link Ext.layout.FormLayout#labelStyle}&lt;/tt&gt; , or &apos;&apos;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;code&gt;{@link #clearCls}&lt;/code&gt;.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;code&gt;{@link #hideLabel}&lt;/code&gt; and
		/// &lt;code&gt;{@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/code&gt;&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;,
		/// labelStyle: &apos;font-weight:bold;&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("labelStyle")]
		public string LabelStyle;
		
		/// <summary>
		/// The separator to display after the text of each
		/// {@link #fieldLabel}. This property may be configured at various levels.
		/// The order of precedence is:
		///   field / component level  container level  {@link Ext.layout.FormLayout#labelSeparator layout level} (defaults to colon &apos;:&apos;)   
		/// To display no separator for this field&apos;s label specify empty string &apos;&apos;.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The separator to display after the text of each
		/// &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt;. This property may be configured at various levels.
		/// The order of precedence is:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;field / component level&lt;/li&gt;
		/// &lt;li&gt;container level&lt;/li&gt;
		/// &lt;li&gt;{@link Ext.layout.FormLayout#labelSeparator layout level} (defaults to colon &lt;tt&gt;&apos;:&apos;&lt;/tt&gt;)&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// To display no separator for this field&apos;s label specify empty string &apos;&apos;.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #clearCls}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #hideLabel}&lt;/tt&gt; and
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// layoutConfig: {
		/// labelSeparator: &apos;~&apos; // layout config has lowest priority (defaults to &apos;:&apos;)
		/// },
		/// {@link Ext.layout.FormLayout#labelSeparator labelSeparator}: &apos;&gt;&gt;&apos;, // config at container level
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Field 1&apos;,
		/// labelSeparator: &apos;...&apos; // field/component level config supersedes others
		/// },{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Field 2&apos; // labelSeparator will be &apos;=&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("labelSeparator")]
		public string LabelSeparator;
		
		/// <summary>
		/// true to completely hide the label element
		/// ({@link #fieldLabel label} and {@link #labelSeparator separator}). Defaults to false.
		/// By default, even if you do not specify a {@link #fieldLabel} the space will still be
		/// reserved so that the field will line up with other fields that do have labels.
		/// Setting this to true will cause the field to not reserve that space.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;tt&gt;true&lt;/tt&gt; to completely hide the label element
		/// ({@link #fieldLabel label} and {@link #labelSeparator separator}). Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// By default, even if you do not specify a &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt; the space will still be
		/// reserved so that the field will line up with other fields that do have labels.
		/// Setting this to &lt;tt&gt;true&lt;/tt&gt; will cause the field to not reserve that space.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #clearCls}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;
		/// hideLabel: true
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideLabel")]
		public bool HideLabel;
		
		/// <summary>
		/// The CSS class used to to apply to the special clearing div rendered
		/// directly after each form field wrapper to provide field clearing (defaults to
		/// &apos;x-form-clear-left&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The CSS class used to to apply to the special clearing div rendered
		/// directly after each form field wrapper to provide field clearing (defaults to
		/// &lt;tt&gt;&apos;x-form-clear-left&apos;&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container
		/// which has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout
		/// manager (e.g. {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;) and either a
		/// &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt; is specified or &lt;tt&gt;isFormField=true&lt;/tt&gt; is specified.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;See {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("clearCls")]
		public string ClearCls;
		
		/// <summary>
		/// Note: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the {@link Ext.layout.FormLayout FormLayout} layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying layout:&apos;form&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;An additional CSS class to apply to the div wrapping the form item
		/// element of this field. If supplied, &lt;tt&gt;itemCls&lt;/tt&gt; at the &lt;b&gt;field&lt;/b&gt; level will override
		/// the default &lt;tt&gt;itemCls&lt;/tt&gt; supplied at the &lt;b&gt;container&lt;/b&gt; level. The value specified for
		/// &lt;tt&gt;itemCls&lt;/tt&gt; will be added to the default class (&lt;tt&gt;&apos;x-form-item&apos;&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;p&gt;Since it is applied to the item wrapper (see
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}), it allows
		/// you to write standard CSS rules that can apply to the field, the label (if specified), or
		/// any other element within the markup for the field.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// // Apply a style to the field&amp;#39;s label:
		/// &amp;lt;style&gt;
		/// .required .x-form-item-label {font-weight:bold;color:red;}
		/// &amp;lt;/style&gt;
		///
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;,
		/// itemCls: &apos;required&apos; //this label will be styled
		/// },{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Favorite Color&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("itemCls")]
		public string ItemCls;
		
		/// <summary>
		/// The unique id of this component (defaults to an {@link #getId auto-assigned id}).
		/// You should assign an id if you need to be able to access the component later and you do
		/// not have an object reference available (e.g., using {@link Ext}.{@link Ext#getCmp getCmp}).  Note that this id will also be used as the element id for the containing HTML element
		/// that is rendered to the page for this component. This allows you to write id-based CSS
		/// rules to style the specific instance of this component uniquely, and also to select
		/// sub-elements using this component&apos;s id as the parent.  Note: to avoid complications imposed by a unique id also see
		/// {@link #itemId} and {@link #ref}.  Note: to access the container of an item see {@link #ownerCt}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The &lt;b&gt;unique&lt;/b&gt; id of this component (defaults to an {@link #getId auto-assigned id}).
		/// You should assign an id if you need to be able to access the component later and you do
		/// not have an object reference available (e.g., using {@link Ext}.{@link Ext#getCmp getCmp}).&lt;/p&gt;
		/// &lt;p&gt;Note that this id will also be used as the element id for the containing HTML element
		/// that is rendered to the page for this component. This allows you to write id-based CSS
		/// rules to style the specific instance of this component uniquely, and also to select
		/// sub-elements using this component&apos;s id as the parent.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to avoid complications imposed by a unique &lt;tt&gt;id&lt;/tt&gt; also see
		/// &lt;code&gt;{@link #itemId}&lt;/code&gt; and &lt;code&gt;{@link #ref}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to access the container of an item see &lt;code&gt;{@link #ownerCt}&lt;/code&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("id")]
		public string Id;
		
		/// <summary>
		/// An itemId can be used as an alternative way to get a reference to a component
		/// when no object reference is available. Instead of using an {@link #id} with
		/// {@link Ext}.{@link Ext#getCmp getCmp}, use itemId with
		/// {@link Ext.Container}.{@link Ext.Container#getComponent getComponent} which will retrieve
		/// itemId&apos;s or {@link #id}&apos;s. Since itemId&apos;s are an index to the
		/// container&apos;s internal MixedCollection, the itemId is scoped locally to the container --
		/// avoiding potential conflicts with {@link Ext.ComponentMgr} which requires a unique{@link #id}.  
		/// var c = new Ext.Panel({ //
		/// {@link Ext.BoxComponent#height height}: 300,
		/// {@link #renderTo}: document.body,
		/// {@link Ext.Container#layout layout}: &apos;auto&apos;,
		/// {@link Ext.Container#items items}: [
		/// {
		/// itemId: &apos;p1&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 1&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// },
		/// {
		/// itemId: &apos;p2&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 2&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// }
		/// ]
		/// })
		/// p1 = c.{@link...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An &lt;tt&gt;itemId&lt;/tt&gt; can be used as an alternative way to get a reference to a component
		/// when no object reference is available. Instead of using an &lt;code&gt;{@link #id}&lt;/code&gt; with
		/// {@link Ext}.{@link Ext#getCmp getCmp}, use &lt;code&gt;itemId&lt;/code&gt; with
		/// {@link Ext.Container}.{@link Ext.Container#getComponent getComponent} which will retrieve
		/// &lt;code&gt;itemId&lt;/code&gt;&apos;s or &lt;tt&gt;{@link #id}&lt;/tt&gt;&apos;s. Since &lt;code&gt;itemId&lt;/code&gt;&apos;s are an index to the
		/// container&apos;s internal MixedCollection, the &lt;code&gt;itemId&lt;/code&gt; is scoped locally to the container --
		/// avoiding potential conflicts with {@link Ext.ComponentMgr} which requires a &lt;b&gt;unique&lt;/b&gt;
		/// &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// var c = new Ext.Panel({ //
		/// {@link Ext.BoxComponent#height height}: 300,
		/// {@link #renderTo}: document.body,
		/// {@link Ext.Container#layout layout}: &apos;auto&apos;,
		/// {@link Ext.Container#items items}: [
		/// {
		/// itemId: &apos;p1&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 1&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// },
		/// {
		/// itemId: &apos;p2&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 2&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// }
		/// ]
		/// })
		/// p1 = c.{@link Ext.Container#getComponent getComponent}(&apos;p1&apos;); // not the same as {@link Ext#getCmp Ext.getCmp()}
		/// p2 = p1.{@link #ownerCt}.{@link Ext.Container#getComponent getComponent}(&apos;p2&apos;); // reference via a sibling
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #id}&lt;/tt&gt; and &lt;code&gt;{@link #ref}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to access the container of an item see &lt;tt&gt;{@link #ownerCt}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("itemId")]
		public string ItemId;
		
		/// <summary>
		/// The registered xtype to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a child item of a Container is being
		/// specified not as a fully instantiated Component, but as a Component config
		/// object. The xtype will be looked up at render time up to determine what
		/// type of child Component to create.
		/// </summary>
		/// <htmlSummary>
		/// The registered &lt;tt&gt;xtype&lt;/tt&gt; to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a child item of a Container is being
		/// specified not as a fully instantiated Component, but as a &lt;i&gt;Component config
		/// object&lt;/i&gt;. The &lt;tt&gt;xtype&lt;/tt&gt; will be looked up at render time up to determine what
		/// type of child Component to create.&lt;br&gt;&lt;br&gt;
		/// The predefined xtypes are listed {@link Ext.Component here}.
		/// &lt;br&gt;&lt;br&gt;
		/// If you subclass Components to create your own Components, you may register
		/// them using {@link Ext.ComponentMgr#registerType} in order to be able to
		/// take advantage of lazy instantiation and rendering.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("xtype")]
		public string Xtype;
		
		/// <summary>
		/// The registered ptype to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a Plugin is being
		/// specified not as a fully instantiated Component, but as a Component config
		/// object. The ptype will be looked up at render time up to determine what
		/// type of Plugin to create.
		/// </summary>
		/// <htmlSummary>
		/// The registered &lt;tt&gt;ptype&lt;/tt&gt; to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a Plugin is being
		/// specified not as a fully instantiated Component, but as a &lt;i&gt;Component config
		/// object&lt;/i&gt;. The &lt;tt&gt;ptype&lt;/tt&gt; will be looked up at render time up to determine what
		/// type of Plugin to create.&lt;br&gt;&lt;br&gt;
		/// If you create your own Plugins, you may register them using
		/// {@link Ext.ComponentMgr#registerPlugin} in order to be able to
		/// take advantage of lazy instantiation and rendering.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ptype")]
		public string Ptype;
		
		/// <summary>
		/// An optional extra CSS class that will be added to this component&apos;s Element when the mouse moves
		/// over the Element, and removed when the mouse moves out. (defaults to &apos;&apos;). This can be
		/// useful for adding customized &apos;active&apos; or &apos;hover&apos; styles to the component or any of its children using standard CSS rules.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("overCls")]
		public string OverCls;
		
		/// <summary>
		/// A custom style specification to be applied to this component&apos;s Element. Should be a valid argument to
		/// {@link Ext.Element#applyStyles}.
		/// 
		/// new Ext.Panel({
		/// title: &apos;Some Title&apos;,
		/// renderTo: Ext.getBody(),
		/// width: 400, height: 300,
		/// layout: &apos;form&apos;,
		/// items: [{
		/// xtype: &apos;textarea&apos;,
		/// style: {
		/// width: &apos;95%&apos;,
		/// marginBottom: &apos;10px&apos;
		/// }
		/// },
		/// new Ext.Button({
		/// text: &apos;Send&apos;,
		/// minWidth: &apos;100&apos;,
		/// style: {
		/// marginBottom: &apos;10px&apos;
		/// }
		/// })
		/// ]
		/// });
		/// </summary>
		/// <htmlSummary>
		/// A custom style specification to be applied to this component&apos;s Element. Should be a valid argument to
		/// {@link Ext.Element#applyStyles}.
		/// &lt;pre&gt;&lt;code&gt;
		/// new Ext.Panel({
		/// title: &apos;Some Title&apos;,
		/// renderTo: Ext.getBody(),
		/// width: 400, height: 300,
		/// layout: &apos;form&apos;,
		/// items: [{
		/// xtype: &apos;textarea&apos;,
		/// style: {
		/// width: &apos;95%&apos;,
		/// marginBottom: &apos;10px&apos;
		/// }
		/// },
		/// new Ext.Button({
		/// text: &apos;Send&apos;,
		/// minWidth: &apos;100&apos;,
		/// style: {
		/// marginBottom: &apos;10px&apos;
		/// }
		/// })
		/// ]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("style")]
		public string Style;
		
		/// <summary>
		/// An optional extra CSS class that will be added to this component&apos;s container. This can be useful for
		/// adding customized styles to the container or any of its children using standard CSS rules. See
		/// {@link Ext.layout.ContainerLayout}.{@link Ext.layout.ContainerLayout#extraCls extraCls} also.  Note: ctCls defaults to &apos;&apos; except for the following class
		/// which assigns a value by default:
		///   {@link Ext.layout.Box Box Layout} : &apos;x-box-layout-ct&apos;   
		/// To configure the above Class with an extra CSS class append to the default. For example,
		/// for BoxLayout (Hbox and Vbox): 
		/// ctCls: &apos;x-box-layout-ct custom-class&apos;
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An optional extra CSS class that will be added to this component&apos;s container. This can be useful for
		/// adding customized styles to the container or any of its children using standard CSS rules. See
		/// {@link Ext.layout.ContainerLayout}.{@link Ext.layout.ContainerLayout#extraCls extraCls} also.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: &lt;tt&gt;ctCls&lt;/tt&gt; defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt; except for the following class
		/// which assigns a value by default:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.layout.Box Box Layout} : &lt;tt&gt;&apos;x-box-layout-ct&apos;&lt;/tt&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// To configure the above Class with an extra CSS class append to the default. For example,
		/// for BoxLayout (Hbox and Vbox):&lt;pre&gt;&lt;code&gt;
		/// ctCls: &apos;x-box-layout-ct custom-class&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ctCls")]
		public string CtCls;
		
		/// <summary>
		/// Render this component hidden (default is false). If true, the
		/// {@link #hide} method will be called internally.
		/// </summary>
		/// <htmlSummary>
		/// Render this component hidden (default is false). If &lt;tt&gt;true&lt;/tt&gt;, the
		/// {@link #hide} method will be called internally.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hidden")]
		public bool Hidden;
		
		/// <summary>
		/// An object or array of objects that will provide custom functionality for this component. The only
		/// requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component.
		/// When a component is created, if any plugins are available, the component will call the init method on each
		/// plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the
		/// component as needed to provide its functionality.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("plugins")]
		public ext.auto.System_Object_Or_System_Array Plugins;
		
		/// <summary>
		/// Specify the id of the element, a DOM element or an existing Element corresponding to a DIV
		/// that is already present in the document that specifies some structural markup for this
		/// component.    Description :   When applyTo is used, constituent parts of the component can also be specified
		/// by id or CSS class name within the main element, and the component being created may attempt
		/// to create its subcomponents from that markup if applicable.    Notes :   When using this config, a call to render() is not required.  If applyTo is specified, any value passed for {@link #renderTo} will be ignored and the target
		/// element&apos;s parent node will automatically be used as the component&apos;s container.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Specify the id of the element, a DOM element or an existing Element corresponding to a DIV
		/// that is already present in the document that specifies some structural markup for this
		/// component.&lt;/p&gt;&lt;div&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Description&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When &lt;tt&gt;applyTo&lt;/tt&gt; is used, constituent parts of the component can also be specified
		/// by id or CSS class name within the main element, and the component being created may attempt
		/// to create its subcomponents from that markup if applicable.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When using this config, a call to render() is not required.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;If applyTo is specified, any value passed for {@link #renderTo} will be ignored and the target
		/// element&apos;s parent node will automatically be used as the component&apos;s container.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("applyTo")]
		public object ApplyTo;
		
		/// <summary>
		/// Specify the id of the element, a DOM element or an existing Element that this component
		/// will be rendered into.    Notes :   Do not use this option if the Component is to be a child item of
		/// a {@link Ext.Container Container}. It is the responsibility of the
		/// {@link Ext.Container Container}&apos;s {@link Ext.Container#layout layout manager}
		/// to render and manage its child items.  When using this config, a call to render() is not required.      See {@link #render} also.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Specify the id of the element, a DOM element or an existing Element that this component
		/// will be rendered into.&lt;/p&gt;&lt;div&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;Do &lt;u&gt;not&lt;/u&gt; use this option if the Component is to be a child item of
		/// a {@link Ext.Container Container}. It is the responsibility of the
		/// {@link Ext.Container Container}&apos;s {@link Ext.Container#layout layout manager}
		/// to render and manage its child items.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When using this config, a call to render() is not required.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See &lt;tt&gt;{@link #render}&lt;/tt&gt; also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("renderTo")]
		public object RenderTo;
		
		/// <summary>
		/// A flag which causes the Component to attempt to restore the state of
		/// internal properties from a saved state on startup. The component must have
		/// either a {@link #stateId} or {@link #id} assigned
		/// for state to be managed. Auto-generated ids are not guaranteed to be stable
		/// across page loads and cannot be relied upon to save and restore the same
		/// state for a component.  For state saving to work, the state manager&apos;s provider must have been
		/// set to an implementation of {@link Ext.state.Provider} which overrides the
		/// {@link Ext.state.Provider#set set} and {@link Ext.state.Provider#get get}
		/// methods to save and recall name/value pairs. A built-in implementation,
		/// {@link Ext.state.CookieProvider} is available.  To set the state provider for the current page:  
		/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
		/// expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
		/// }));
		///  A stateful Component attempts to save state when one of the events
		/// listed in the...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A flag which causes the Component to attempt to restore the state of
		/// internal properties from a saved state on startup. The component must have
		/// either a &lt;code&gt;{@link #stateId}&lt;/code&gt; or &lt;code&gt;{@link #id}&lt;/code&gt; assigned
		/// for state to be managed. Auto-generated ids are not guaranteed to be stable
		/// across page loads and cannot be relied upon to save and restore the same
		/// state for a component.&lt;p&gt;
		/// &lt;p&gt;For state saving to work, the state manager&apos;s provider must have been
		/// set to an implementation of {@link Ext.state.Provider} which overrides the
		/// {@link Ext.state.Provider#set set} and {@link Ext.state.Provider#get get}
		/// methods to save and recall name/value pairs. A built-in implementation,
		/// {@link Ext.state.CookieProvider} is available.&lt;/p&gt;
		/// &lt;p&gt;To set the state provider for the current page:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
		/// expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
		/// }));
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;A stateful Component attempts to save state when one of the events
		/// listed in the &lt;code&gt;{@link #stateEvents}&lt;/code&gt; configuration fires.&lt;/p&gt;
		/// &lt;p&gt;To save state, a stateful Component first serializes its state by
		/// calling &lt;b&gt;&lt;code&gt;getState&lt;/code&gt;&lt;/b&gt;. By default, this function does
		/// nothing. The developer must provide an implementation which returns an
		/// object hash which represents the Component&apos;s restorable state.&lt;/p&gt;
		/// &lt;p&gt;The value yielded by getState is passed to {@link Ext.state.Manager#set}
		/// which uses the configured {@link Ext.state.Provider} to save the object
		/// keyed by the Component&apos;s &lt;code&gt;{@link stateId}&lt;/code&gt;, or, if that is not
		/// specified, its &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;During construction, a stateful Component attempts to &lt;i&gt;restore&lt;/i&gt;
		/// its state by calling {@link Ext.state.Manager#get} passing the
		/// &lt;code&gt;{@link #stateId}&lt;/code&gt;, or, if that is not specified, the
		/// &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;The resulting object is passed to &lt;b&gt;&lt;code&gt;applyState&lt;/code&gt;&lt;/b&gt;.
		/// The default implementation of &lt;code&gt;applyState&lt;/code&gt; simply copies
		/// properties into the object, but a developer may override this to support
		/// more behaviour.&lt;/p&gt;
		/// &lt;p&gt;You can perform extra processing on state save and restore by attaching
		/// handlers to the {@link #beforestaterestore}, {@link #staterestore},
		/// {@link #beforestatesave} and {@link #statesave} events.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateful")]
		public bool Stateful;
		
		/// <summary>
		/// The unique id for this component to use for state management purposes
		/// (defaults to the component id if one was set, otherwise null if the
		/// component is using a generated id).
		/// See {@link #stateful} for an explanation of saving and
		/// restoring Component state.
		/// </summary>
		/// <htmlSummary>
		/// The unique id for this component to use for state management purposes
		/// (defaults to the component id if one was set, otherwise null if the
		/// component is using a generated id).
		/// &lt;p&gt;See &lt;code&gt;{@link #stateful}&lt;/code&gt; for an explanation of saving and
		/// restoring Component state.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateId")]
		public string StateId;
		
		/// <summary>
		/// An array of events that, when fired, should trigger this component to
		/// save its state (defaults to none). stateEvents may be any type
		/// of event supported by this component, including browser or custom events
		/// (e.g., [&apos;click&apos;, &apos;customerchange&apos;]).  See {@link #stateful} for an explanation of saving and
		/// restoring Component state.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An array of events that, when fired, should trigger this component to
		/// save its state (defaults to none). &lt;code&gt;stateEvents&lt;/code&gt; may be any type
		/// of event supported by this component, including browser or custom events
		/// (e.g., &lt;tt&gt;[&apos;click&apos;, &apos;customerchange&apos;]&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;p&gt;See &lt;code&gt;{@link #stateful}&lt;/code&gt; for an explanation of saving and
		/// restoring Component state.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateEvents")]
		public System.Array StateEvents;
		
		/// <summary>CSS class added to the component when it is disabled (defaults to &apos;x-item-disabled&apos;).</summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("disabledClass")]
		public string DisabledClass;
		
		/// <summary>Whether the component can move the Dom node when rendering (defaults to true).</summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("allowDomMove")]
		public bool AllowDomMove;
		
		/// <summary>
		/// True if the component should check for hidden classes (e.g. &apos;x-hidden&apos; or &apos;x-hide-display&apos;) and remove
		/// them on render (defaults to false).
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("autoShow")]
		public bool AutoShow;
		
		/// <summary>
		/// How this component should be hidden. Supported values are &apos;visibility&apos;
		/// (css visibility), &apos;offsets&apos; (negative offset position) and &apos;display&apos;
		/// (css display).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;How this component should be hidden. Supported values are &lt;tt&gt;&apos;visibility&apos;&lt;/tt&gt;
		/// (css visibility), &lt;tt&gt;&apos;offsets&apos;&lt;/tt&gt; (negative offset position) and &lt;tt&gt;&apos;display&apos;&lt;/tt&gt;
		/// (css display).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: the default of &lt;tt&gt;&apos;display&apos;&lt;/tt&gt; is generally preferred
		/// since items are automatically laid out when they are first shown (no sizing
		/// is done while hidden).&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideMode")]
		public string HideMode;
		
		/// <summary>
		/// True to hide and show the component&apos;s container when hide/show is called on the component, false to hide
		/// and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide
		/// button on a window by setting hide:true on the button when adding it to its parent container.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideParent")]
		public bool HideParent;
		
		/// <summary>
		/// Optional. Specify an existing HTML element, or the id of an existing HTML element to use as the content
		/// for this component.   Description :
		/// This config option is used to take an existing HTML element and place it in the layout element
		/// of a new component (it simply moves the specified DOM element after the Component is rendered to use as the content.   Notes :
		/// The specified HTML element is appended to the layout element of the component after any configured
		/// {@link #html HTML} has been inserted, and so the document will not contain this element at the time the {@link #render} event is fired.  The specified HTML element used will not participate in any {@link Ext.Container#layout layout}
		/// scheme that the Component may use. It is just HTML. Layouts operate on child {@link Ext.Container#items items}.  Add either the x-hidden or the x-hide-display CSS class to
		/// prevent a brief flicker of the content before it is rendered to the panel.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Optional. Specify an existing HTML element, or the &lt;code&gt;id&lt;/code&gt; of an existing HTML element to use as the content
		/// for this component.&lt;/p&gt;
		/// &lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Description&lt;/b&gt; :
		/// &lt;div class=&quot;sub-desc&quot;&gt;This config option is used to take an existing HTML element and place it in the layout element
		/// of a new component (it simply moves the specified DOM element &lt;i&gt;after the Component is rendered&lt;/i&gt; to use as the content.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; :
		/// &lt;div class=&quot;sub-desc&quot;&gt;The specified HTML element is appended to the layout element of the component &lt;i&gt;after any configured
		/// {@link #html HTML} has been inserted&lt;/i&gt;, and so the document will not contain this element at the time the {@link #render} event is fired.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;The specified HTML element used will not participate in any &lt;code&gt;&lt;b&gt;{@link Ext.Container#layout layout}&lt;/b&gt;&lt;/code&gt;
		/// scheme that the Component may use. It is just HTML. Layouts operate on child &lt;code&gt;&lt;b&gt;{@link Ext.Container#items items}&lt;/b&gt;&lt;/code&gt;.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;Add either the &lt;code&gt;x-hidden&lt;/code&gt; or the &lt;code&gt;x-hide-display&lt;/code&gt; CSS class to
		/// prevent a brief flicker of the content before it is rendered to the panel.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("contentEl")]
		public string ContentEl;
		
		/// <summary>
		/// An HTML fragment, or a {@link Ext.DomHelper DomHelper} specification to use as the layout element
		/// content (defaults to &apos;&apos;). The HTML content is added after the component is rendered,
		/// so the document will not contain this HTML at the time the {@link #render} event is fired.
		/// This content is inserted into the body before any configured {@link #contentEl} is appended.
		/// </summary>
		/// <htmlSummary>
		/// An HTML fragment, or a {@link Ext.DomHelper DomHelper} specification to use as the layout element
		/// content (defaults to &apos;&apos;). The HTML content is added after the component is rendered,
		/// so the document will not contain this HTML at the time the {@link #render} event is fired.
		/// This content is inserted into the body &lt;i&gt;before&lt;/i&gt; any configured {@link #contentEl} is appended.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("html")]
		public ext.auto.System_String_Or_System_Object Html;
		
		/// <summary>
		/// An  ,  
		/// or an array of strings to form an Ext.XTemplate.
		/// Used in conjunction with the {@link #data} and
		/// {@link #tplWriteMode} configurations.
		/// </summary>
		/// <htmlSummary>
		/// An &lt;bold&gt;{@link Ext.Template}&lt;/bold&gt;, &lt;bold&gt;{@link Ext.XTemplate}&lt;/bold&gt;
		/// or an array of strings to form an Ext.XTemplate.
		/// Used in conjunction with the &lt;code&gt;{@link #data}&lt;/code&gt; and
		/// &lt;code&gt;{@link #tplWriteMode}&lt;/code&gt; configurations.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("tpl")]
		public object Tpl;
		
		/// <summary>
		/// The Ext.(X)Template method to use when
		/// updating the content area of the Component. Defaults to &apos;overwrite&apos;
		/// (see {@link Ext.XTemplate#overwrite}).
		/// </summary>
		/// <htmlSummary>
		/// The Ext.(X)Template method to use when
		/// updating the content area of the Component. Defaults to &lt;tt&gt;&apos;overwrite&apos;&lt;/tt&gt;
		/// (see &lt;code&gt;{@link Ext.XTemplate#overwrite}&lt;/code&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("tplWriteMode")]
		public string TplWriteMode;
		
		/// <summary>
		/// The initial set of data to apply to the {@link #tpl} to
		/// update the content area of the Component.
		/// </summary>
		/// <htmlSummary>
		/// The initial set of data to apply to the &lt;code&gt;{@link #tpl}&lt;/code&gt; to
		/// update the content area of the Component.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("data")]
		public object Data;
		
		/// <summary>
		/// An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to [].
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to &lt;tt&gt;[]&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("bubbleEvents")]
		public System.Array BubbleEvents;
		
		/// <summary>
		/// A path specification, relative to the Component&apos;s {@link #ownerCt}
		/// specifying into which ancestor Container to place a named reference to this Component.  The ancestor axis can be traversed by using &apos;/&apos; characters in the path.
		/// For example, to put a reference to a Toolbar Button into the Panel which owns the Toolbar:  
		/// var myGrid = new Ext.grid.EditorGridPanel({
		/// title: &apos;My EditorGridPanel&apos;,
		/// store: myStore,
		/// colModel: myColModel,
		/// tbar: [{
		/// text: &apos;Save&apos;,
		/// handler: saveChanges,
		/// disabled: true,
		/// ref: &apos;../saveButton&apos;
		/// }],
		/// listeners: {
		/// afteredit: function() {
		/// // The button reference is in the GridPanel
		/// myGrid.saveButton.enable();
		/// }
		/// }
		/// });
		///  In the code above, if the ref had been &apos;saveButton&apos;
		/// the reference would have been placed into the Toolbar. Each &apos;/&apos; in the ref
		/// moves up one level from the Component&apos;s {@link #ownerCt}.  Also see the {@link #added} and {@link #removed} events.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A path specification, relative to the Component&apos;s &lt;code&gt;{@link #ownerCt}&lt;/code&gt;
		/// specifying into which ancestor Container to place a named reference to this Component.&lt;/p&gt;
		/// &lt;p&gt;The ancestor axis can be traversed by using &apos;/&apos; characters in the path.
		/// For example, to put a reference to a Toolbar Button into &lt;i&gt;the Panel which owns the Toolbar&lt;/i&gt;:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// var myGrid = new Ext.grid.EditorGridPanel({
		/// title: &apos;My EditorGridPanel&apos;,
		/// store: myStore,
		/// colModel: myColModel,
		/// tbar: [{
		/// text: &apos;Save&apos;,
		/// handler: saveChanges,
		/// disabled: true,
		/// ref: &apos;../saveButton&apos;
		/// }],
		/// listeners: {
		/// afteredit: function() {
		/// // The button reference is in the GridPanel
		/// myGrid.saveButton.enable();
		/// }
		/// }
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;In the code above, if the &lt;code&gt;ref&lt;/code&gt; had been &lt;code&gt;&apos;saveButton&apos;&lt;/code&gt;
		/// the reference would have been placed into the Toolbar. Each &apos;/&apos; in the &lt;code&gt;ref&lt;/code&gt;
		/// moves up one level from the Component&apos;s &lt;code&gt;{@link #ownerCt}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;Also see the &lt;code&gt;{@link #added}&lt;/code&gt; and &lt;code&gt;{@link #removed}&lt;/code&gt; events.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ref")]
		public string Ref;
		
		/// <summary>
		/// A config object containing one or more event handlers to be added to this
		/// object during initialization. This should be a valid listeners config object as specified in the
		/// {@link #addListener} example for attaching multiple handlers at once.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A config object containing one or more event handlers to be added to this
		/// object during initialization. This should be a valid listeners config object as specified in the
		/// {@link #addListener} example for attaching multiple handlers at once.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;DOM events from ExtJs {@link Ext.Component Components}&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;While &lt;i&gt;some&lt;/i&gt; ExtJs Component classes export selected DOM events (e.g. &quot;click&quot;, &quot;mouseover&quot; etc), this
		/// is usually only done when extra value can be added. For example the {@link Ext.DataView DataView}&apos;s
		/// &lt;b&gt;&lt;code&gt;{@link Ext.DataView#click click}&lt;/code&gt;&lt;/b&gt; event passing the node clicked on. To access DOM
		/// events directly from a Component&apos;s HTMLElement, listeners must be added to the &lt;i&gt;{@link Ext.Component#getEl Element}&lt;/i&gt; after the Component
		/// has been rendered. A plugin can simplify this step:&lt;pre&gt;&lt;code&gt;
		/// // Plugin is configured with a listeners config object.
		/// // The Component is appended to the argument list of all handler functions.
		/// Ext.DomObserver = Ext.extend(Object, {
		/// constructor: function(config) {
		/// this.listeners = config.listeners ? config.listeners : config;
		/// },
		///
		/// // Component passes itself into plugin&amp;#39;s init method
		/// init: function(c) {
		/// var p, l = this.listeners;
		/// for (p in l) {
		/// if (Ext.isFunction(l[p])) {
		/// l[p] = this.createHandler(l[p], c);
		/// } else {
		/// l[p].fn = this.createHandler(l[p].fn, c);
		/// }
		/// }
		///
		/// // Add the listeners to the Element immediately following the render call
		/// c.render = c.render.{@link Function#createSequence createSequence}(function() {
		/// var e = c.getEl();
		/// if (e) {
		/// e.on(l);
		/// }
		/// });
		/// },
		///
		/// createHandler: function(fn, c) {
		/// return function(e) {
		/// fn.call(this, e, c);
		/// };
		/// }
		/// });
		///
		/// var combo = new Ext.form.ComboBox({
		///
		/// // Collapse combo when its element is clicked on
		/// plugins: [ new Ext.DomObserver({
		/// click: function(evt, comp) {
		/// comp.collapse();
		/// }
		/// })],
		/// store: myStore,
		/// typeAhead: true,
		/// mode: &apos;local&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\ext-core\src\util\Observable.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("listeners")]
		public object Listeners;
		#endregion
	}
}
